home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Millennium Gold 2000
/
Millennium Gold 2000 - Disc 1.iso
/
TEST2000.TXT
< prev
next >
Wrap
Text File
|
1997-09-26
|
13KB
|
252 lines
YEAR2000 Compliance and YOUR PC
Introduction
A serious problem was designed into the PC in 1984 (and into many applications, files and databases since)
and remains a problem today: most computer systems will not gracefully enter the next decade, only a few
years away. The system date will probably be incorrect - without assistance, anyway - on 01-01-2000 or
later because of a hardware design flaw. Similarly, many software applications will misbehave as the year
2000 is approached and passed, too, even if the system date is correct.
In brief: most applications get the system date from the operating system, whose software-based calendar is
initialized at boot from the BIOS firmware, which in turn gets the date from the CMOS RTC, which is
hardware.
The CMOS RTC maintains a two-digit year, so the BIOS prefixes those two digits with a pair of stored
century digits to compose the four-digit year that it provides to the operating system.
Since the century digits are not maintained by hardware (even though the digits are set by any system date
set command) they are not incremented when the year increments from 99 to 00; the result is that year 1999
will be followed by apparent year 1900.
This results in an erroneous system date of 04-01-1980 at the next boot since 1900 is an invalid year to the
operating system. Some applications, which take the date from the BIOS rather than the operating system,
will therefore receive year 1900.
As this is written, machines are being produced that contain BIOS code that exerts measures intended to
cure the CMOS RTC century problem; it's probably safe to expect that these will become the norm
eventually. By applying a 'windowing' technique to the two digits of the CMOS RTC year, some BIOS's
will infer and supply the correct century. For example, year 2000 will be supplied to the operating system
and applications even though the indicated CMOS RTC year is 1900.
Here's why:
First, if the correct date is lost after a reboot, the machine - despite any other behavior - cannot be
compliant.
Some BIOS's (notably some Award v4.5x-series), for example, will reset the date to any one of a range of
dates within a permitted "window" (1994 to 1999, in the Award v4.5x-series case) if the date exceeds those
limits when the machine is rebooted.
This means that the machine date cannot be correct after 31-12-1999. Such a BIOS cannot be corrected
with software, since the date change occurs in the BIOS boot process before any corrective software has
access to it; once the BIOS has changed the date, it is not possible to determine the correct date.
Second, if the BIOS century increments from 1999 to 2000, then the BIOS (or an applied corrective fix like
Y2KPCPro) is correctly receiving or inferring the century from the CMOS RTC year; this means that the
BIOS date makes the 1999-2000 transition correctly, and that the operating system (and therefore also most
applications) will receive the correct date, and it means that applications whose date is taken directly from
the BIOS will also receive the correct date.
If the BIOS date increments from 1999 to 1900 (rather than 2000), the date provided to the operating
system at the next boot will be invalid (01-01-1900, for example) and will typically result in an
OPERATING system date of 04-01-1980 and applications which take the BIOS date will receive
01-01-1900, not 01-01-2000. This BIOS date year 1999-2000 transition problem can be corrected by installing
Y2KPCPro on the machine.
Other testers of this sort test the CMOS RTC, which essentially always fails to increment from 1999 to
2000. What is important is not the CMOS RTC date itself, but what the BIOS does with the CMOS RTC
date, because the operating system uses the BIOS date and some applications use the BIOS date.
Although a fundamental design error that causes the year 2000 transition problem exists in the CMOS RTC,
the CMOS RTC date itself is unimportant because no common application software uses it directly, so
testing the CMOS RTC is immaterial, unnecessary and misleading. The BIOS date is what matters and
despite its pervasive century error, the CMOS RTC date doesn't matter.
Other testers also test the operating system 1999 to 2000 increment, which will always pass. There is no
reason to suspect an operating system date year 2000 failure. [Windows 3.1 File Manager does odd things
to the year in its displays, but those are only display artifacts; the underlying date is handled correctly.]
Other testers also look at a variety of leap year concerns, none of which need any concern. No PC hardware
leap year failures have ever been demonstrated, and there is no reason to suspect that PC hardware leap year
errors exist. If another tester fails a leap year test, it is probably the testing program that has failed - not the
hardware.
What Does Test2000.Exe Do?
TEST2000 tests the BIOS year 1999-2000 transition by setting the BIOS date to 31-12-1999 23:59:58 and
observing the change of century. A non-compliant BIOS will not change the century, so the apparent date
becomes 01-01-1900. A compliant BIOS or a corrected BIOS will increment the century to 20. Since
Y2KPCPRO will correct this error, the machine will pass this test if Y2KPCPRO is running.
TEST2000 tests the reboot cycle by setting the BIOS date to 2000-02-29 before rebooting the machine,
then checking that the date has not been changed by the reboot. The original AUTOEXEC.BAT file will be
briefly renamed to AUTOEXEC.Y2K during the test, then restored to AUTOEXEC.BAT for the second
reboot. The machine's AUTOEXEC.BAT is never modified; it is only renamed. [Incidentally, any valid
after 01-01-2000 will do for this test; the choice of date was arbitrary.]
This test will detect those BIOS's that cannot be corrected and which force a 2000+ date to 1994-01-01
or 1980-01-01 at boot.
Running TEST2000
Caution:
Test2000.Exe will briefly set the system date to future dates. If you
run any scheduling software, you should terminate those applications
before starting this diagnostic. If you run no software that runs
automatically and is triggered by date, you need not take any special
precautions.
TEST2000.EXE should be run from the ROOT directory of the PC to be tested , and a results file,
Test2000.Tst, will be left there unless the NoBoot option is used.
If your PC currently runs MS-DOS 6.0 or higher and Windows 3.1x :
1. Close all applications normally, then re-boot your PC.
2. During the reboot process the message "Loading MS-DOS.." will be displayed briefly, during
which time you should hit the [F5] key once. This will cause the operating system to be
loaded but by-pass the CONFIG.SYS and AUTOEXEC.BAT files.
3. Proceed to step 4 below
If your PC currently runs Windows 95:
1. Close all applications normally, then select the option to "Restart the computer "
via the "START" button
2. During the reboot process the message "Starting Windows 95..." will be displayed briefly,
during which time you should hit the [F8] key once. This will cause the operating system
to load and present a number of BOOT options which may be selected via a menu. Select the
option for "Command Prompt Only".
3. Proceed to step 4 below
4. Insert the diagnostic diskette into the A: drive, and copy the files from the diskette
onto the ROOT directory of the C:\ drive.
5. Run TEST2000 From the C:\> prompt, using of the following command line options:
TEST2000 NoBoot To perform only a 1999-2000 BIOS date transition test;
TEST2000 NoPause To cycle through the tests without pauses.
TEST2000 Will cycle through the tests with pauses.
While the diagnostic is running, the original AUTOEXEC.BAT file is renamed AUTOEXEC.Y2K. If, for
some reason, the diagnostic fails to complete its tests, you may restore the original AUTOEXEC.BAT file
by running UNDO2000.BAT in the root directory.
In addition to the onscreen test results, text file Test2000.Tst will contain the test results after the test cycle
completes. There are three possibilities:
That the machine is compliant (both tests pass),
That the machine is not compliant (fails the 1999-2000 transition test),
but can be made compliant with Y2KPCPro,
That the machine is not compliant (fails the reboot test) and cannot be corrected,
except by a BIOS change if one is available.
Additionally, you may choose to run the program from a bootable diskette. If it is started from within
Windows, you will be given an opportunity to shut Windows down prior to rebooting.
What Do the Results Mean?
If the machine passes both tests, it is year 2000 compliant: you'll know that applications will receive the
correct date at all times, without concern.
If the machine fails the reboot test, it cannot correctly recall the last machine date if it was after 31-12-1999.
Some Award v4.5x-series BIOS's will force the date to 1994-01-01, for example. These BIOS's must be
upgraded, or the machine must be removed from date-sensitive service before the end of the decade, so this
is a serious failure. It cannot be corrected with software and will probably require a BIOS upgrade, if one is
available, to correct it.
If the machine fails the BIOS date year 1999-2000 transition test, unless corrected the operating system date
will probably boot to 04-01-1980 on 01-01-2000, and applications that get the date via the BIOS will
receive the wrong century.
This failure can be corrected by running Y2KPCPRO on the machine.
Equivalent assisted manual testing:
[Caution: See the caution statement under "Running Test2000.Exe".]
Reboot test:
C:\>DATE 12-31-1999
C:\>TIME 23:59
- Wait for more than one minute.
- Reboot.
- Check the DOS date.
It should be 01-01-2000. If it's 01-04-1980, the machine exhibits the year 2000 flaw and can be corrected
with Y2KPCPRO. If it's any other date (01-01-1994, for example) the machine cannot be corrected except
via a BIOS upgrade if one is available.
- Reset the date to today's date.
Real time 1999-2000 transition test (requires ViewCMOS.Exe v5.11 or later, also on this diskette):
C:\>DATE 31-12-1999
C:\>TIME 23:59
C:\>ViewCMOS
- Watch the "CMOS RTC date via the BIOS" as it passes midnight.
The date should become 01-01-2000. If it becomes 01-01-1900, the BIOS does not correct the date in real
time.
- Reset the date to today's date.
Test2000.Exe is a free, simple and complete PC hardware year 2000 date compliance diagnostic.
This program or its documentation can change from time to time. If you did not get this from YEAR2000
Consultants Ltd, or our Web sites on
WWW.Y2KPCPRO.COM
or
WWW.Y2000FIX.COM
it's worth a visit to see if there's been a more recent version made available.
Information on Y2KPCPro is available from
Year 2000 Consultants Limited
UK and Europe
Website: WWW.Y2000FIX.COM
UK: 0800 47 2000
Inter: 44-171-928-3456
Fax: 44-171-928-3233
EMAIL: info@y2000fix.com
Copyright notice:
ViewCMOS, Y2KPCPro, Test2000.Exe and this file (Test2000.Txt contained on the enclosed diskette) are Copyright 1997,
RighTime, Miami. All rights are reserved.
Permission is granted to freely copy, distribute and use this program in its complete, unmodified form
including this text file.
No warranty of performance or suitability is expressed or implied. Every effort has been made to make this
software program deliver as this documentation describes, but the correctness for your application or
environment cannot be assured. We cannot assume responsibility for the failure of this software program,
nor for ny consequence of its use. You are encouraged to test the applicability of this program to your
requirements and to verify the test results to your satisfaction with the assisted manual tests, as described
above, or with other valid testing procedures.
If you encounter trouble, or have any feedback or questions about this diagnostic, please contact us.
Year 2000 Consultants Limited
Website: WWW.Y2000FIX.COM
UK: 0800 47 2000
Inter: 44-171-928-3456
Fax: 44-171-928-3233
EMAIL: support@y2000fix.com